home *** CD-ROM | disk | FTP | other *** search
/ Programming a Multiplayer FPS in DirectX / Programming a Multiplayer FPS in DirectX (Companion CD).iso / DirectX / dxsdk_oct2004.exe / dxsdk.exe / Documentation / DirectX9 / directx9_m.chm / directx / code / whatsnew.js < prev    next >
Encoding:
JavaScript  |  2004-09-30  |  3.2 KB  |  122 lines

  1. /*
  2.     void fxWNInit(void)
  3.     Called from PostInit
  4.     Sets the selected technology index to 0, and invokes fxPopulateWNTable.
  5. */
  6. function fxWNInit(){
  7.     if(oBD.majorVer>=5){
  8.         if(typeof(_wntable1)=="object"){
  9.             // If IE is version 5.5 or greater and the user is running Win2000
  10.             if(oBD.fullVer>=5.5){
  11.                 var aH1=window.document.body.getElementsByTagName("H1");
  12.                 if(aH1.length){
  13.                     aH1[0].outerHTML='<IFRAME ID="_wnlogoframe" SRC="55newdynamic.htm" SCROLLING="NO" NORESIZE="1" FRAMEBORDER="NO" STYLE="width:100%; height:150px"></IFRAME>';
  14.                 }
  15.             }
  16.             fxAddSelTech();
  17.             // If an error occurs and oSelTech is not added, then do not proceed.
  18.             if(typeof(oSelTech)=="object"){ 
  19.                 oSelTech.selectedIndex=0;
  20.                 fxPopulateWNTable(_wntable1);
  21.             }
  22.     
  23.         }
  24.     }
  25. }
  26.  
  27. /*
  28.     void fxAddSelTech(void)
  29.     Called from fxWNInit
  30.     Adds the SELECT element to the table.
  31. */
  32. function fxAddSelTech(){
  33.     var sHtml='<SELECT onchange="updateWNTable(_wntable1)" STYLE="font-size: 8pt; font-family: Arial;" ID="oSelTech"><OPTION>All Features</OPTION></SELECT>';
  34.     var aCells=_wntable1.rows(0).cells;
  35.     aCells(0).innerHTML=sHtml;
  36.     aCells(1).innerHTML="Descriptions for " + oSelTech.options[0].text;
  37. }
  38.  
  39. /*
  40.     void fxPopulateWNTable(TABLE oTable)
  41.     Called from fxWNInit
  42.     Creates technology list for SELECT, and adds hash values to Whats New table rows.
  43.     
  44. */
  45. function fxPopulateWNTable(oTable){
  46.     var aRows=oTable.rows;
  47.     var iRLen=aRows.length;
  48.     var aTechs=new Array();
  49.     for(var i=0;i<iRLen;i++){
  50.         var oRow=aRows[i];
  51.         var oCell1=oRow.cells(0);
  52.         var vTechs=oCell1.getAttribute("techs");
  53.         if(vTechs){
  54.             var aVTechs=vTechs.split(";");
  55.             aTechs=aTechs.concat(aVTechs);
  56.         }
  57.     }
  58.     for(var a=0;a<aTechs.length;a++){
  59.         var sTech=aTechs[a];
  60.         if(sTech!=""){
  61.             var bAddOption=true;
  62.             for(var h=0;h<oSelTech.options.length;h++){
  63.                 if(sTech==oSelTech.options[h].value){
  64.                     bAddOption=false;
  65.                 }
  66.             }
  67.             if(bAddOption==true){
  68.                 var sTechName=sTech;
  69.                 if(g_techitems[sTech]){
  70.                     sTechName=g_techitems[sTech].name;
  71.                 }
  72.                 oSelTech.options[oSelTech.options.length]=new Option(sTechName,sTech);
  73.             }    
  74.         
  75.         }
  76.     }
  77.     
  78. }
  79.  
  80. /*
  81.     void updateWNTable(TABLE oTable)
  82.     called from SELECT oSelTech onchange event
  83.     Shows/Hides table rows based on matching values in the techs attribute
  84. */
  85. function updateWNTable(oTable){
  86.     
  87.     var iRowLen=0;
  88.     var iIndex1=oSelTech.selectedIndex;
  89.     var oOption=oSelTech.options[iIndex1];
  90.     var sFilter1=oOption.value;
  91.     var sSelText=oOption.text;
  92.     var aRows=oTable.rows;
  93.     var iRLen=aRows.length;
  94.     // Skip first row since this includes the labels
  95.     for(var i=1;i<iRLen;i++){
  96.         var oRow=aRows[i];
  97.         var bShowItem=true;
  98.         var oCell1=oRow.cells(0);
  99.         var sCellText=oCell1.innerText;
  100.         var vTechs=oCell1.getAttribute("techs");
  101.         if(vTechs){
  102.             if((iIndex1>0)&&(!vTechs.match(sFilter1 + ";"))){
  103.                 bShowItem=false;
  104.             }
  105.         }
  106.         if(bShowItem==true){
  107.             oRow.style.display="block";
  108.         }
  109.         else{
  110.             oRow.style.display="none";
  111.         }
  112.     }
  113.     var sDescText="Descriptions for " + sSelText;
  114.     var sTipText="";
  115.     var oDescRow=aRows[0];
  116.     if(g_techitems[sFilter1]){
  117.         sTipText=g_techitems[sFilter1].desc;
  118.     }
  119.     oDescRow.title=sTipText;
  120.     oDescRow.cells[1].innerHTML=sDescText;
  121. }
  122.